﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApplication2
{
    public partial class frmPrincipal : Form
    {
        private String connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Banco.accdb;";
        public frmPrincipal()
        {
            InitializeComponent();
        }

        private OleDbDataReader reader;
        public void limparcampos()
        {
            txtNome.Text = "";
            txtEndereco.Text = "";
            txtQuantidade.Text = "";
            cmbTipo.Text = "";
        }
        private void AtualizaDados()
        {
            lstPedidos.Items.Clear();
            
            OleDbConnection cnn = new OleDbConnection(connectionString);
            cnn.Open();
            string sql = "";
            sql += "    SELECT  ";
            sql += "    nome,  ";
            sql += "    endereco, ";
            sql += "    quantidade,  ";
            sql += "    tipo, ";
            sql += "    status ";
            sql += "    FROM ";
            sql += "    Cadastro ";
          
            OleDbCommand cmd = new OleDbCommand(sql, cnn);
            reader = cmd.ExecuteReader();
            while (reader.Read())
            {

                ListViewItem item = new ListViewItem();
                item.Text = reader.GetString(0).ToString();
                item.SubItems.Add(new ListViewItem.ListViewSubItem(item, reader.GetString(1)));
                item.SubItems.Add(new ListViewItem.ListViewSubItem(item, reader.GetString(2)));
                item.SubItems.Add(new ListViewItem.ListViewSubItem(item, reader.GetString(3)));
                item.SubItems.Add(new ListViewItem.ListViewSubItem(item, reader.GetString(4)));



                lstPedidos.Items.Add(item);
            }
            cnn.Close();
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void btnCadastrar_Click(object sender, EventArgs e)
        {
            int flag = 1;
            if (txtNome.Text.Equals(""))
            {
                flag = 0;
                MessageBox.Show("Digite o Nome","Atenção",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
            }
            if (txtEndereco.Text.Equals(""))
            {
                flag = 0;
                MessageBox.Show("Digite o Endereco", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            if (txtQuantidade.Text.Equals(""))
            {
                flag = 0;
                MessageBox.Show("Digite a Quantidade", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            if (cmbTipo.Text.Equals(""))
            {
                flag = 0;
                MessageBox.Show("Selecione o Tipo", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            if (flag == 1)
            {
                
                string statement = "";
                statement += "  INSERT INTO  ";
                statement += "  Cadastro  ";
                statement += "  (nome,endereco,quantidade,tipo,status)  ";
                statement += "  VALUES (@nome,@endereco,@quantidade,@tipo,@status) ";

                OleDbParameter parNome = new OleDbParameter("@nome", OleDbType.VarChar);
                parNome.Value = txtNome.Text;
                OleDbParameter parEndereco = new OleDbParameter("@endereco", OleDbType.VarChar);
                parEndereco.Value = txtEndereco.Text;
                OleDbParameter parQuantidade = new OleDbParameter("@quantidade", OleDbType.VarChar);
                parQuantidade.Value = txtQuantidade.Text;
                OleDbParameter parTipo = new OleDbParameter("@tipo", OleDbType.VarChar);
                parTipo.Value = cmbTipo.Text;
                OleDbParameter parStatus = new OleDbParameter("@status", OleDbType.VarChar);
                parStatus.Value = "Em Aberto";

                OleDbConnection cnn = new OleDbConnection(connectionString);
                cnn.Open();
                OleDbCommand cmd = new OleDbCommand(statement, cnn);
                cmd.Parameters.Add(parNome);
                cmd.Parameters.Add(parEndereco);
                cmd.Parameters.Add(parQuantidade);
                cmd.Parameters.Add(parTipo);
                cmd.Parameters.Add(parStatus);
                cmd.ExecuteNonQuery();
                cnn.Close();
                MessageBox.Show("Cadastro Efetuado com Sucesso");
                limparcampos();
                AtualizaDados();


                

            }
        }

        private void frmPrincipal_Load(object sender, EventArgs e)
        {
            AtualizaDados();
            if (btnPesquisar.Text.Equals("Pesquisar"))
            {
                txtBuscaEndereco.Enabled = false;
                txtBuscaQuantidade.Enabled = false;
                cmbBuscaTipo.Enabled = false;
                txtStatus.Enabled = false;
            }
          
        }

        private void brtAtualizar_Click(object sender, EventArgs e)
        {
           
            AtualizaDados();
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            
        }

        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            int flag = 1;
            if (txtBuscaNome.Text.Equals(""))
            {
                flag = 0;
                MessageBox.Show("Digite o Nome", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            if (flag == 1)
            {
                txtBuscaNome.Enabled = false;
                OleDbConnection cnn = new OleDbConnection(connectionString);
                cnn.Open();
                string sql = "";
                sql += "    SELECT  ";
                sql += "    *  ";
                sql += "    FROM  ";
                sql += "    Cadastro ";
                sql += "    WHERE  ";
                sql += "    nome LIKE '%" + txtBuscaNome.Text + "%' ";
               
                OleDbCommand cmd = new OleDbCommand(sql, cnn);
                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                   
               

                }
            }
        }

        private void groupBox2_Enter(object sender, EventArgs e)
        {
 
        }
    }
}
